package com.ht.domain.po;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * <p>
 *
 * </p>
 *
 * @author 代齐园
 * @since 2022-05-24
 * 数据库交互实体类 字段和数据库对映
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    private Long id;

    /**
     * 用户名随机生成 不可更改
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 创建时间
     */
    private LocalDate creatTime;

    /**
     * 会员状态 0/1/2  不是/1399/5000
     */
    private Integer vipStatus;

    /**
     * 余额
     */
    private BigDecimal surplusPrice;

    /**
     * 健康豆   给医生评价给30 写日记 100 分享经验 50  初始100
     */
    private Integer intergral;

    /**
     * 总消费额
     */
    private BigDecimal totalPrice;

    private String atwillOne;

    private String atwillTwo;

    /**
     * 补贴券
     * */
    private String coupons;

    /**
    * 盐
    * */
    private String salt;

    /**
    * 身份证号
    * */
    private String idCard;

    /**
     * 验证码
     * @TableField(exist = false)表示该字段在数据库中没有字段
     * */
    @TableField(exist = false)
    private String messageCode;
    /**
     * 账号注销
     * */
    //配置逻辑删除字段的值，value的值表示未删除的时候的值，delval的值表示已删除时候的值；
    @TableLogic(value = "0",delval = "1")
    //配置deleted字段的自动填充规则。
    @TableField(value = "deleted",fill = FieldFill.DEFAULT)
    private String deleted;


}
